LinuC-2 - 201試験 - 2.01:システムの起動とLinuxカーネル - 2.01.1 ブートプロセスとGRUB

Last Update : August 21 2022 17:47:13

     

a. MBR / GPT

MBRとGPTは、マスターブートレコード(Master Boot Record)とGUIDパーティションテーブル(GUID Partition Table)の略語です。それらはHDD、SSDまたはリムーバブルデバイスをパーティション化する2つの方式です。
Legacy BIOS の時代においては、HDD/SSD の先頭セクタに MBR (Master Boot Record) と呼ばれる 512 Bytes の特殊な領域があり、ここに「ディスクのパーティション情報」や「ブートストラップ (一次ブートローダー)」が格納されていました。
しかし MBR では 2TiB (≒ 2.2 TB) 以上のパーティションが読み込めない等の制約があり、各種課題をクリアするために GPT (GUID Partition Table) という方式が作られました。

GPT は先頭 512 Bytes は MBR との互換性を保っています。この 512 Bytes の領域を Protective MBR と呼びます。UEFI が GPT を読み込み起動する場合は Protective MBR は無視されます。Master Boot Code のところは下位互換 (Legacy Boot) のためのブートストラップを仕込んでも構いませんが、GPT でのブート前提なら無視されるので 0 bit 列でも構いません。
UEFI が GPT を読み込むと、パーティション情報を把握します。また、UEFI は汎用的なドライバが含まれているため、USB 等のデバイスも認識します。
UEFI は各デバイス (パーティションを含む場合は各パーティションも) の中から自身の優先順位 (Disk が優先か、USB が優先か、等) に従って中身を確認し、それが ESP (EFI System Partition) と呼ばれる領域であれば、その中に含まれるブートローダーを起動します。そのブートローダーは一般には Windows Boot Manager や grub 等です。
一方、Legacy BIOS や UEFI が MBR を読み込むと、MBR に含まれる 1 次ブートローダー (ブートストラップ) が起動し、起動可能パーティションの先頭セクタに含まれる 2 次ブートローダー (Windows Boot Manager や grub) を起動します。

● パーティションテーブル(MBR/GPT)の確認方法

$ sudo parted -l
Model: ATA TOSHIBA THNSNS25 (scsi)
Disk /dev/sda: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 4194kB 32.2GB 32.2GB primary ext4 boot
2 32.2GB 256GB 224GB primary ext4

パーティションテーブルの照会(Partition Table:)
・gpt:this is a GPT partition table
・loop:this is raw disk access without a partition table
・msdos:this is a standard MBR partition table


b. ブートローダ

1.GRUBの特徴
  • LILOのような物理セクタではなく、ファイルシステムでブートイメージを認識できます。
  • 設定を変更した後も再度GRUBを実行する必要はない
  • どのオペレーションシステムにも依存せず、多数のファイルシステムを認識することができます。
  • シェル機能があり、対話式のコマンドインターフェイスにより、コマンドによる細かい管理が可能です。
  • ブート時に設定やパラメータを変更することができます。
  • 対応していないOSでもチェインローダー機能を使うとブートすることができます。
  • ネットワークからのブートにも対応しています。

Linuxシステム起動時のファイルシステムマウント(mountコマンド)やファイルシステムからのファイル読み出しのためには、まずルートディレクトリ("/")の inode情報が必要となりますが、その情報はスーパーブロックに書かれています。ルートディレクトリ以下のディレクトリはその一つ上のディレクトリにinodeブロックが存在するので、順次それを呼び出してゆけば、最後には目的のファイルのinodeが発見できアクセス可能となります。
GRUBには、大きく分けてバージョン0.9x系のGRUB Legacyと、1.9x系のGRUB 2の2種類があります。



c. GRUB Legacy

1.GRUBのインストール

GRUBを使用するには、起動ディスクのMBRにGRUBをインストールしなければなりません。そのインストールに使うコマンドが grub-install コマンドです。

● grub-install コマンド構文
 grub-install [オプション] [デバイス名]

/dev/hdaにGRUBをインストールするには、

$ sudo parted -l
# grub-install /dev/hda

GRUBのバージョンを確認するには、

# grub-install -v
grub-install (GNU GRUB 0.97)

2.GRUBの設定

GRUBの設定ファイルは、/boot/grub/grub.confです。(/boot/grub/menu.lstの場合もあります)

●grub.confのオプション
 パラメータ説明
 timeoutメニューを表示している時間(秒)
 defaultデフォルトで起動するエントリの番号
 titleメニューに表示されるエントリ名
 rootルートデバイスの指定
 kernel起動するファイルの指定
 makeactiveルートパーティションのアクティブ化
 chainloader指示されたセクターの読み込みを実行
 hiddenmenu起動時の選択メニューを表示しない

● grub.conf の記述例
boot=/dev/hda <--- 起動デバイス            default = 0 <--- 始動するデフォルトOSを0から番号で指定 timeout = 5  <--- メニューを表示している時間(秒) splash-image=(hda,0)/grub/splash.xpm.gz <--- 起動画面の背景イメージを指定 title CentOS (2.6.9-22nz) <--- 1番目のOSのタイトル。起動画面に表示される  root (hda,0)        <--- ルートデバイスの指定  kernel /vmlinuz-2.6.9-22n1 ro root=/dev/hda1 <--- 起動するファイルの指定  initrd /initrd-2.6.9-22nz.img title CentOS (2.6.9-11.EL) <--- 2番目のOSのタイトル。起動画面に表示される  root (hda,0)  kernel /vmlinuz-2.6.9-11.EL ro root=/dev/hda1  initrd /initrd-2.6.9-11.EL.img

GRUBでは grub コマンドを実行すると、対話式シェルを利用できます。


●GRUBプロンプトでのオプション
 bootOSを起動
 rootGRUBのルートデバイスを設定する
 initrd初期RAMディスクをロードする
 installGRUBをインストール
 setupGRUBを指定した場所にインストール
 parttypeパーティションタイプを変更する
 makeactiveルートパーティションのアクティブ化
 setkeyキーマップを設定する


d. GRUB2

1.GRUB2 の概要

GRUB 2 は、BIOS または UEFI ファームウェアを搭載したシステム上の Unified Extensible Firmware Interface (UEFI) ファームウェアからのブートや任意のサイズの GUID パーティションテーブル (GPT) でパーティション分割されたディスクからのブートなど、幅広いプラットフォームとファームウェアのタイプをサポートする強力なモジュラーブートローダーです。GRUB 2 は UEFI 指定の GPT パーティション分割スキームもサポートしています。 GRUB Legacy と同様に、GRUB 2 は 2 段階のブートプロセスを使用します。GRUB 2 と GRUB Legacy の主な違いは、GRUB 2 では動的にロードされたモジュールに多くの機能を配置し、これにより、コア GRUB 2 (第 2 段階ブートローダー) のイメージを小さくできるため、ロードが速くなり、柔軟性が高まることです。結果として、ブート時に要求に応じて GRUB 機能がロードされます。


● GRUB Legacy との主な違い
  • 設定を複数のファイルに分散して保存するようになりました。また、設定ファイルの書式も変更されています。
  • パーティション番号が 1 から始まるようになりました (従来の GRUB Legacy では 0 から始まっていました) 。
  • さらに多くのファイルシステムに対応しています。
  • LVM や RAID デバイス上のファイルを、直接読めるようになりました。
  • メニュー項目の名称を含め、ユーザインターフェイスを翻訳できるようになりました。
  • ファイルシステムなどの特定の機能に対応するために、モジュールを 読み込む仕組みが追加されています。
  • 「ステージ」 と呼ばれる仕組みは廃止され、 GRUB2 を構成するイメージの構造が変更されています。

●設定ファイルの構造

GRUB 2の設定は主に /etc/default/grub と /etc/grub.d に記述します。update-gurb が実行されるとその結果は /boot/grub/grub.cfg ファイルに書き込まれます。

/boot/grub2/grub.cfg
このファイルには、 GRUB2 のメニュー項目に関する全ての情報が保存されています。これは従来の GRUB Legacy で言うところの menu.lst にあたるものです。 grub.cfg は update-gurb(update-grub2) コマンドで構築するもので、通常は手作業で編集すべきではないものです。

/etc/default/grub
このファイルは GRUB2 のユーザ設定を制御するためのもので、通常は背景画像やテーマなど、追加の環境設定が含まれています。

/etc/grub.d/ 内のスクリプト
このディレクトリ内に存在するスクリプトは、 grub2-mkconfig コマンドか update-gurb(update-grub2) コマンドの実行中に読み込まれ、メインの設定ファイル /boot/grub/grub.cfg 内に取り込まれます。

/boot/grub2/custom.cfg
このオプションファイルは、ブート時にgrub.cfgによって直接調達され、ブートメニューにカスタム項目を追加するために使用できます。

/etc/sysconfig/bootloader
この設定ファイルは、ブートローダをYaSTで設定するときと、新しいカーネルがインストールされる際に使用されます。perl-bootloaderで評価され、それに従ってブートローダ設定ファイル(GRUB 2の/boot/grub 2/grub.cfgなど)が変更されます。/etc/sysconfig/bootloaderは、GRUB 2固有の設定ファイルではありません。

/boot/grub2/x86_64-efi、 /boot/grub2/power-ieee1275、 /boot/grub2/s390x<
これらの設定ファイルにはアーキテクチャ固有のオプションが含まれます。

GRUB2 は様々な方法でコントロールすることができます。既存の設定ファイルにある起動項目はグラフィカルなメニュー (スプラッシュスクリーン) で選択することができます。設定は grub.cfg ファイルから読み込まれますが、 このファイルはさらに他のファイルの内容から生成されます。 GRUB2 では、すべての設定ファイルがシステムファイルという位置付けとなるため、 これらを編集する際は、 root の権限が必要となります。また、 GRUB2 の 設定ファイルを編集した後は、 update-grub(grub2-mkconfig -o /boot/grub2/grub.cfg と同じ)を忘れずに実行してください。


2.GRUB2 の設定

GRUB 2 の場合の設定ファイルは「/boot/grub/grub.cfg」です。
しかし、このファイルを直接編集するのではなく、「/etc/default/grub」のファイルに設定を書き、 update-grub コマンドを実行して「/boot/grub/grub.cfg」の設定ファイルを生成する、という仕組みになっています。

● /etc/default/grub の記述例
# If you change this file, run 'update-grub' afterwards to update # /boot/grub/grub.cfg. GRUB_DEFAULT=0 <--- 始動するデフォルトOSを0から番号で指定 GRUB_HIDDEN_TIMEOUT=0 <--- 指定した秒数だけ、ユーザからのキー入力を待ちます。この待機時間の間は、 キー入力が行なわれるまでメニューを表示しません。 GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=10" <--- 既定の起動項目を自動的に起動するまでの間、起動メニューを表示して待機する 時間を秒単位で設定します。 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT=quiet splash" <--- 通常モードに 対してだけ、この内容が追加されます。 GRUB_CMDLINE_LINUX=" <--- 通常/復元モードなど、それぞれの起動項目のコマンドラインに対して、ここで 指定された内容が追加されます。 ・ ・ 省略

●grub2のオプション
 パラメータ説明
 GRUB_DEFAULTデフォルトのメニューエントリーを設定する。値は数値ないしsaved
  • GRUB_DEFAULT=0
    メニューの位置によってデフォルトエントリーを決定する。以前のGrub同様grub.cfgにおける最初のmenuentryは0
  • GRUB_DEFAULT=saved
    デフォルトのメニューエントリーは前回選択したものになる。メニューが表示されている場合にはそのエントリーがハイライトされる。キー入力がなく時間が経過するとこのエントリーが起動される。
  • GRUB_DEFAULT=xxx"
    メニューエントリーを直接師弟することもできる。この場合エントリーの位置は関係ない。例えばGRUB_DEFAULT=CentOS, Linux 2.6.31-9-generic"などとなる。
 GRUB_TIMEOUTデフォルトエントリーが起動されるまでの時間を秒数で指定する。
-1にするとユーザーが選択するまでメニューが表示される。
 GRUB_HIDDEN_TIMEOUTデフォルトでは、他のOSが存在するかどうかによって挙動が変わる。他のOSが検出された場合にはメニューが表示される(#が先頭についている)。他のOSが検出されない場合にはメニューは非表示になる。
正の整数が設定された場合、メニューは表示されないが起動はその秒数の間だけ停止する。
0が設定された場合、メニューは表示されず、遅延もない。ユーザーは起動中にシフトキーを押しつづけることでメニューを表示させることができる。起動中、システムはシフトキーの状態をチェックする。状態が確認出来ない場合少しの間起動は止まり、ユーザーはエスケープキーを押すことでメニューを表示できるようになる。
 GRUB_HIDDEN_TIMEOUT_QUIETtrue : カウントダウンは表示されない。画面には何も表示されない。
false : 真っ黒な画面上にGRUB_HIDDEN_TIMEOUTで設定された秒数、カウントダウンが表示される。
 GRUB_DISTRIBUTORメニューエントリーの記述を決定する
 GRUB_CMDLINE_LINUXカーネルに渡すオプション
 GRUB_CMDLINE_LINUX_DEFAULT通常起動のlinuxラインの最後にオプションを付け足す。menu.lstにおけるdefoptionsに相当する。起動過程をテキスト表示したい場合には"quiet splash"を消せばよい。スプラッシュイメージを表示しつつ簡易テキストも表示するなら"splash"を指定する。
 hiddenmenu起動時の選択メニューを表示しない



e. ブートオプション

Linux カーネルは起動するときに「コマンドラインオプション」あるいは 「起動時パラメータ」を受け付けます。これは一般に、カーネルには決定できないハードウェアのパラメータをカーネルに渡したい場合や、カーネルが検出するであろう値を意図的に無効にしたり変更したりする場合に使います。
カーネルが BIOS から直接起動されるときは、パラメータを指定するチャンスはありません。よって、起動時パラメータ機能を利用するためには、GRUBなどのブートローダがパラメータを指定できるようになっていなければなりません。GRUB の場合は、起動時に Aキーまたは、 Eキーを押すことでパラメータを指定できるようになります。

grub append> root=0303 nousb

● 起動時に指定できるブートオプション

 root=デバイス最初に起動されるプログラムの指定(initの代わり)
 init=プログラムGRUBのルートデバイスを設定する
 quietメッセージの出力を抑制する
 debugメッセージの出力を冗長にする(デバッグ用)
 singleシングルユーザモードで起動する
 textテキストモードで起動する
 1~5指定したランレベルで起動する

このパラメータは、/proc/cmdlineなどで確認できます。


カーネルを起動する前にブート・パラメータを変更するには、次のステップを実行します。

  1. ブート・プロセスの開始時にGRUBブート・メニューが表示されたら、矢印キーを使用して必要なカーネルを強調表示し、[Space]キーを押します。
  2. [E]キーを押してカーネルのブート構成を編集します。
  3. 矢印キーを使用して、カーネルのブート構成行であるlinuxで始まる行の末尾にカーソルを置きます。
  4. ブート・パラメータを変更します。 レスキュー・シェルへの起動をシステムに指示する(systemd.target=runlevel1.target)などのパラメータを追加できます。
  5. [Ctrl]+[X]キーを押して、システムを起動します。

f. EFIBOOTMGR

UEFIブートにおけるブート先は、ブートエントリー(Boot Entry)という形式でUEFIファームウェアにあるブートマネージャ(Boot Manager)に保存されています。
ブートマネージャはブートエントリーを保存するだけでなく、ブートシーケンスも保存しています。
もちろん、このブートシーケンスはBIOSの画面から変更することもできますが、なんとOS上から変更することができます
Linuxであれば「efibootmgr」というコマンドを使うことで変更できます。
「efibootmgr」は、UEFIブートマネージャーを操作するコマンドです。
「efibootmgr」を利用すると、UEFIブートマネージャーに起動エントリーを作成したり、起動エントリーの順番を変更することができます。

● eifbootmgrを使用してEFIブート順序を変更する まず、現在のブートエントリを表示します。
$ sudo efibootmgr -v
BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 0003,0002,0000,0001
Boot0000* rEFInd Boot Manager HD(1,28,96000,bc34b60c-6611-492f-99b0-d2c37bd77f48)File(\EFI\refind\shim.efi)
Boot0001* fedora HD(1,28,96000,bc34b60c-6611-492f-99b0-d2c37bd77f48)File(\EFI\fedora\grubx64.efi)
Boot0002* rEFInd (via PreLoader) HD(1,28,96000,bc34b60c-6611-492f-99b0-d2c37bd77f48)File(\EFI\refind\PreLoader.efi)
Boot0003* ubuntu HD(1,28,96000,bc34b60c-6611-492f-99b0-d2c37bd77f48)File(EFI\Ubuntu\grubx64.efi)

次に起動順序を変更します。

$ sudo efibootmgr -o 0000,0002,0003,0001


e. systemdのシステム起動プロセス

● systemd系の起動プロセス

  1. 電源がON
  2. BIOSが起動し、ハードウェアを初期化
  3. ブートローダが起動し、Linuxカーネルをメモリ上に展開する
  4. Linuxカーネルが起動
  5. ドライバなどがロードされ、systemdプロセスを起動
  6. default.targetというUnitが処理される
  7. システムの用途に適したターゲットが起動される
  8. ログイン画面を表示


g. grub2-mkconfig/grub-mkconfigコマンド

grub2-mkconfig は、GRUB 2(GNU GRand Unified Bootloader 2)の起動メニューを生成するコマンドです。環境設定ファイルに従い、grub.cfgを生成します。
起動メニューを生成するのではなく、既存の起動メニューからデフォルト値を指定したい場合は、「 grub2-set-default/grub-set-default」コマンドを使用します。

● GRUBファイルの格納場所
サーバがBIOSもしくはUEFIのどちらを利用しているかで、設定ファイルの格納場所が異なります。
BIOS: /boot/grub2/grub.cfg
UEFI: /boot/efi/EFi/redhat/grub.cfg

GRUB 2構成ファイルは直接編集しません。
grub2-mkconfigコマンドでは、/etc/grub.dのテンプレート・スクリプトおよび構成ファイル/etc/default/grubから取得したメニュー構成設定を使用して構成ファイルを生成します。

● 起動メニューを生成するには
# grub2-mkconfig

grub2-mkconfigは起動用のファイルを生成するため、誤った内容に上書きしてしまう危険性があります。正常に動作しているgrub2.cfgファイルなどを別途バックアップすることをお勧めします。


● 生成した起動メニューを指定したファイルに書き込む
# grub2-mkconfig -o /boot/grub2/grub.cfg

● grub2-mkconfig コマンド構文
  grub2-mkconfig [オプション]

● grub2-mkconfig オプション
 -o ファイル名
 -output=ファイル名
出力する設定ファイル名(指定しなかった場合は標準出力)


h. GRUB 2カーネル・ブート・パラメータの変更

設定ファイルは「/boot/grub/grub.cfg」となっているがこれは「grub-mkconfig」コマンドにより自動生成されるものなので、設定を編集するには「/etc/default/grub」ファイルを編集する。

# vi /etc/default/grub

編集が終わったらgrub2-mkconfig を実行する。

# grub2-mkconfig -o /boot/grub2/grub.cfg

設定ファイルが再生成される。


i. ブートローダのシェル(コマンドライン)の使用

起動時メニュー画面で [c] キーを押すとシェルに入り、追加の入力を受付けるようになる。

grub> set root=(hd0,1)
grub> linux /vmlinuz-3.10.0-327.el7.x86_64 root=/dev/mapper/centos-root rd.lvm.lv=centos/root
grub> initrd /initramfs-3.10.0-327.el7.x86_64.img
grub> boot

と入力することでカーネルを指定して起動できる。


j. systemctl

システムのブート後に起動された全サービスのリストを確認するには、systemctlと入力します。次のように、すべてのアクティブなサービスが表示されます。特定のサービスの詳細情報が必要な場合は、「systemctl status サービス名」 を使用します。

# systemctl
UNIT LOAD ACTIVE SUB DESCRIPTION
proc-sys-fs-binfmt_misc.automount loaded active running Arbitrary Executabl>
sys-devices-pci0000:00-0000:00:07.1-ata2-host1-target1:0:0-1:0:0:0-block->
sys-devices-pci0000:00-0000:00:10.0-host2-target2:0:0-2:0:0:0-block-sda-s>
sys-devices-pci0000:00-0000:00:10.0-host2-target2:0:0-2:0:0:0-block-sda-s>
sys-devices-pci0000:00-0000:00:10.0-host2-target2:0:0-2:0:0:0-block-sda.d>
sys-devices-pci0000:00-0000:00:11.0-0000:02:01.0-net-ens33.device loaded>
sys-devices-pci0000:00-0000:00:11.0-0000:02:02.0-sound-card0.device load>
sys-devices-platform-serial8250-tty-ttyS1.device loaded active plugged /sys/>
sys-devices-platform-serial8250-tty-ttyS2.device loaded active plugged /sys/>
sys-devices-platform-serial8250-tty-ttyS3.device loaded active plugged /sys/>
sys-devices-pnp0-00:05-tty-ttyS0.device loaded active plugged /sys/devices/>
sys-devices-virtual-block-dm\x2d0.device loaded active plugged /sys/devices/>
sys-devices-virtual-block-dm\x2d1.device loaded active plugged /sys/devices/>
sys-devices-virtual-net-virbr0.device loaded active plugged /sys/devices/virt>
sys-module-configfs.device loaded active plugged /sys/module/configfs
sys-module-fuse.device loaded active plugged /sys/module/fuse
sys-subsystem-net-devices-ens33.device loaded active plugged 82545EM Giga>
sys-subsystem-net-devices-virbr0.device loaded active plugged /sys/subsyste>
-.mount loaded active mounted Root Mount
boot.mount loaded active mounted /boot
dev-hugepages.mount loaded active mounted Huge Pages File System
dev-mqueue.mount loaded active mounted POSIX Message Queue File

起動に失敗したサービスだけを表示する場合は、--failedオプションを指定します。

# systemctl --failed

● systemctl コマンド構文
  systemctl [オプション] [サービス名]

● systemctl サービス管理 オプション
 start サービスを起動する
 stop サービスを停止する
 restart サービスを停止し、後で起動します。サービスがまだ起動していない場合は、そのサービスを起動します。
 try-restart サービスが現在実行中の場合、サービスを再起動します。実行されていないサービスについては、何も行いません。
 reload サービスに対し、操作を中断せずに設定ファイルを再ロードするように指示します。Apacheに、変更後のhttpd.conf設定ファイルを再ロードさせる、などの使用方法をします。すべてのサービスが再ロードをサポートしているとは限らないことに注意してください。
 reload-or-restart サービスが再ロードをサポートしていれば再ロードし、サポートしていなければ再起動します。サービスがまだ起動していない場合は、そのサービスを起動します。
 reload-or-try-restart サービスが再ロードをサポートしていれば再ロードし、サポートしていなければ再起動します(現在実行中の場合)。実行されていないサービスについては、何も行いません。
 status サービスのステータスについて、情報を表示します。systemdコマンドでは、説明、実行ファイル、ステータス、cgroupのほか、直近でサービスが出力したメッセージ(13.6.8項 「サービスのデバッグ」を参照)が表示されます。System V initで表示される詳細のレベルは、サービスごとに異なります。
 is-active サービスがアクティブかどうかを示します。

サービスを恒久的に有効化/無効化して、必要に応じてPC起動時に自動的にサービス起動したり、常に使用不可にすることもできます。

● systemctl サービス有効化/無効化 オプション
 enable サービスを自動起動する
 disable サービスの自動起動をしません
 is-enabled サービスの自動起動が有効になっているかどうかを示します。
 reenable サービスの再起動と同様に、このコマンドはいったんサービスを無効化した後に有効化します。サービスにデフォルト値を設定して再有効化する場合に利用します。
 mask サービスを完全に無効化します。サービスを「無効化」しても、手動で起動できてしまいます。サービスを完全に無効化するには、マスクを設定する必要があります。 注意してご使用ください。
 unmask マスクを解除します。マスクを設定したサービスは、マスクを解除しないと使用できません。


k. grub-install / grub2-install

grubをインストール、または再インストールする場合は、grub-installコマンドを使います。

# grub2-install /dev/sda

「/dev/sda」のMBRにGRUB2がインストールされる


z. 出題範囲概要

概要 :
  • ブートプロセス中およびリカバリモードのLinuxシステムを適切に操作する。関連するブートローダはGRUB バージョン2 である。BIOS と UEFI のシステム両方をカバーする。

詳細 :
  • BIOS と UEFI
    Master Boot Record (MBR)
    EFI System Partition (ESP), efibootmgr, UEFI shell
  • ブートローダの標準的なオプションの変更とブートローダのシェル(コマンドライン)の使用。
  • ブートローダの開始とカーネルへの引継ぎ。
  • GRUB の起動メニューを生成する。
    grub-mkconfig, grub2-mkconfig
  • カーネルローダブルモジュールのロード。
    initrd, initramfs
  • ハードウェアの初期化と設定。
    デバイス、モジュール
  • ファイルシステムのチェックとマウント。
  • デーモン / サービスの初期化と設定。
    systemctl, systemd.unit
  • ハードディスクまたはリムーバルデバイスにおけるブートローダのインストール場所を知っている。
  • grub-install, grub2-install
    /boot/, /boot/grub/,/boot/grub2/ および /boot/efi/ の内容


  [ 例題 ] 


         

    www.it-shikaku.jp